//# sourceURL=http://uMapApp/Module/HomeModule
define([
    "mhjs/mhjs",
    "uMap/uMap",
    "uEarth/uEarth",
    "../Module",
    "../../UI/Panel/FloatPanel",
    "../../UI/Panel/PanelBlock/PanelBlock",
    "../../UI/Panel/PanelBlock/ListBlock",
    "../../UI/Panel/Item/EquipmentListItem"
    , "./HomeNSModule"
    , "./HomeYSModule"
], function (
    mhjs,
    uMap,
    uEarth,
    Module,
    FloatPanel,
    PanelBlock,
    ListBlock,
    EquipmentListItem
    , HomeNSModule
    , HomeYSModule
) {

    function HomeModule(option) {

        var _this = this;

        Module.call(_this, option);

        _this.title = "驾驶舱";
        _this.icon = _this.app.icons.home;

        _this.modules = {
            "YS": new HomeYSModule({"app": _this.app}),
            "NS": new HomeNSModule({"app": _this.app})
        };

        _this.modules.YS.on("open", function () {
            _this.moduleSwitchPanel.YS.addClass("active");
        });

        _this.modules.YS.on("close", function () {
            _this.moduleSwitchPanel.YS.removeClass("active");
        });

        _this.modules.NS.on("open", function () {
            _this.moduleSwitchPanel.NS.addClass("active");
        });

        _this.modules.NS.on("close", function () {
            _this.moduleSwitchPanel.NS.removeClass("active");
        });

        _this.moduleSwitchPanel = new FloatPanel({"class": "HomeModule moduleSwitchPanel"});

        _this.moduleSwitchPanel.YS = new mhjs.Div({"class": "button"});
        _this.moduleSwitchPanel.YS.text("有形资产");

        _this.moduleSwitchPanel.YS.on("click", function () {
            _this.toggleModule(_this.modules.YS);
        });

        _this.moduleSwitchPanel.append(_this.moduleSwitchPanel.YS);

        _this.moduleSwitchPanel.NS = new mhjs.Div({"class": "button"});
        _this.moduleSwitchPanel.NS.text("无形资产");

        _this.moduleSwitchPanel.NS.on("click", function () {
            _this.toggleModule(_this.modules.NS);
        });

        _this.moduleSwitchPanel.append(_this.moduleSwitchPanel.NS);

        _this.app.ui.layout.top.append(_this.moduleSwitchPanel);

    }

    var _class = HomeModule;

    mhjs.Inherit(_class, Module);

    Object.defineProperties(_class.prototype, {
        "toggleModule": {
            value: function (module) {
                var _this = this;
                if (_this.currentModule !== module) {
                    _this.currentModule && _this.currentModule.close();
                    _this.currentModule = module;
                    _this.currentModule.open();
                }
            }
        },
        "open"        : {
            value: function () {
                var _this = this;

                _this.moduleSwitchPanel.open();

                if (!_this.currentModule) {
                    _this.moduleSwitchPanel.YS.trigger("click");
                } else {
                    _this.currentModule.open();
                }
                _this.app.flyHome(true);
                _this.isOpened = true;
            }
        },
        "close"       : {
            value: function () {
                var _this = this;

                _this.moduleSwitchPanel.close();
                _this.currentModule.close();
                _this.isOpened = false;
            }
        },
        "toggle"      : {
            value: function () {
                var _this = this;
                if (_this.isOpened) {
                    _this.close();
                } else {
                    _this.open();
                }
            }
        }
    });

    return _class;

});